package com.lemurian.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import org.hibernate.annotations.BatchSize;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;

import com.lemurian.entity.utils.DefaultPersistence;

@Entity
@Table(name="tb_organization")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@BatchSize(size=100)
@Cache(usage=CacheConcurrencyStrategy.READ_WRITE)
public class Organization extends DefaultPersistence {
	

	private static final long serialVersionUID = 1L;

	@ManyToOne
	@JoinColumn(name="organizationType")
	private Category organizationType;
	
	private String name;
	
	@Column(name="address",length=5000)
	private String address;
	
	private String city;
	private String postalCode;
	private String telephone;
	private String fax;
	private String website;
	private String email;
	
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String getCity() {
		return city;
	}

	public void setCity(String city) {
		this.city = city;
	}

	public String getPostalCode() {
		return postalCode;
	}

	public void setPostalCode(String postalCode) {
		this.postalCode = postalCode;
	}

	public String getTelephone() {
		return telephone;
	}

	public void setTelephone(String telephone) {
		this.telephone = telephone;
	}

	public String getFax() {
		return fax;
	}

	public void setFax(String fax) {
		this.fax = fax;
	}

	public String getWebsite() {
		return website;
	}

	public void setWebsite(String website) {
		this.website = website;
	}

	public Category getOrganizationType() {
		return organizationType;
	}

	public void setOrganizationType(Category organizationType) {
		this.organizationType = organizationType;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}
	
}